/*
  有n盏灯，编号为1~n，第一个人把灯全部打开，第二个人按下所有编号为2的倍数的开关（这些灯将被关掉），
 第三个人按下所有编号为3的倍数的开关（其中关掉的灯将被打开，开着的灯将被关掉），以此类推。
 一共有k个人，问最后哪些灯开着？
 输入：n和k，输出开着的灯的编号。k<=n<=1000。
 样例输入：7 3
 样例输出：1 5 6 7
 */
package com.yuan.algorithms.arithmetic_1;

import java.util.Scanner;

public class 筛选_开关灯问题 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int n = sc.nextInt();
			int k = sc.nextInt();
			boolean[] arr = new boolean[n+1];
			for (int i = 2; i <= k; ++i) {
				delete(i,arr);
			}
			for (int i = 1; i < arr.length; i++) {
				if (!arr[i]) {
					System.out.println(i+" ");
				}
			}
			System.out.println();
		}

	}

	private static void delete(int i, boolean[] arr) {
		for (int j = 1; j * i < arr.length; j++) {
			int t = i * j;
			arr[t] = !arr[t];
		}
	}

}
